package com.gongzuozhan.service.impl;

import com.gongzuozhan.mapper.TeSeChuFangMapper;
import com.gongzuozhan.pojo.ChuFangMoBan;
import com.gongzuozhan.mapper.ChuFangMoBanMapper;
import com.gongzuozhan.pojo.TeSeChuFang;
import org.springframework.stereotype.Service;
import com.gongzuozhan.service.ChuFangMoBanService;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 处方模板(ChuFangMoBan)表服务实现类
 *
 * @author Gold
 * @since 2021-03-19 09:07:58
 * @version 1.0
 */
@Service("chuFangMoBanService")
public class ChuFangMoBanServiceImpl implements ChuFangMoBanService {
    @Resource
    private ChuFangMoBanMapper chuFangMoBanMapper;

    @Resource
    private TeSeChuFangMapper teSeChuFangMapper;

    /**
     * 查询所有数据
     * @return  返回所有数据
     */
	@Override
    public Map<String, Object> chaXunAll(String chuFangLeiXing,
                                         String moBanQuanXian,
                                         String moBanBianHao,
                                          String moBanMingCheng) {
        Map<String, Object> map = new HashMap<>();
        // 前端端分离时，前端人员会首先判断code值是否满足200，如果不是200，则提醒用户失败
        map.put("code", 200);
        map.put("msg", "查询成功");
        map.put("list", this.chuFangMoBanMapper.chaXunAll(chuFangLeiXing,moBanQuanXian,moBanBianHao,moBanMingCheng));
        return map;
    }
    /**
     * 新增数据
     *
     * @param chuFangMoBan 实例对象
     * @return 实例对象
     */
    @Override
    public Map<String, Object> xinZeng(ChuFangMoBan chuFangMoBan) {
        // UUID.randomUUID()  返回内容：asd21321-ewrewrew213213-123213zsad-123asdasd这样的形态
        this.chuFangMoBanMapper.xinZeng(chuFangMoBan);
        int zhuHe = this.chuFangMoBanMapper.chaXunid();
        System.out.println("............................."+zhuHe);
        List<TeSeChuFang> teSeChuFangList = chuFangMoBan.getTeSeChuFangList();
        for (int i=0; i<teSeChuFangList.size(); i++ ){
            TeSeChuFang teSeChuFang = teSeChuFangList.get(i);
            teSeChuFang.setZhuHe(zhuHe);
            this.teSeChuFangMapper.xinZeng(teSeChuFang);

        }
        Map<String, Object> map = new HashMap<>();
        map.put("code", 200);   // 前端端分离时，前端人员会首先判断code值是否满足200，如果不是200，则提醒用户失败
        map.put("msg", "新增成功");
        return map;
    }

}